#ifndef EXCLUDE_POLICY_FACTORY_H
#define EXCLUDE_POLICY_FACTORY_H

#include "exclude_policy.h"

namespace exclude
{
/**
 * @brief:  互斥策略创建
 * @author: sherlock_lht
 */
template<class T>
class ExcludePolicyFactory
{
public:
    template<typename... Args>
    static exclude::ExcludePolicyConstPtr createExcludePolicy(Args... args)
    {
        return std::make_shared<T>(args...);
    }
};

}

#endif //EXCLUDE_POLICY_FACTORY_H
